package stack_queue.leetcode;

import java.util.LinkedList;
import java.util.Queue;

/**
 * @Author: wenjingyuan
 * @Date: 2022/09/28/19:13
 * @Description:225. 用队列实现栈
 */
public class Num225 {
    //queue1始终用来保存元素
    private Queue<Integer> queue1=new LinkedList<>();
    //queue2
    // q2永远保持为空,元素先入q2，然后将q1的元素出队列再入q2
    // q1和q2换名字
    private Queue<Integer> queue2=new LinkedList<>();
    public Num225() {

    }

    public void push(int x) {
       queue2.offer(x);
       while(!queue1.isEmpty()){
           queue2.offer(queue1.poll());
       }
       Queue queue=queue1;
       queue1=queue2;
       queue2=queue;
    }

    public int pop() {
        return  queue1.poll();
    }

    public int top() {
        return queue1.peek();
    }

    public boolean empty() {
        return queue1.isEmpty();
    }
}
